package com.sdtv.mediunfusion.mvp.presenter;

import com.sdtv.basemodule.mvp.presenter.BasePresenter;
import com.sdtv.basemodule.rx.BaseObserver;
import com.sdtv.mediunfusion.bean.TaskBean;
import com.sdtv.mediunfusion.mvp.contract.MainContract;
import com.sdtv.mediunfusion.mvp.model.TaskListModel;

import java.util.List;

/**
 * @ProjectName: MediunFusion
 * @Package: com.sdtv.mediunfusion.mvp.presenter
 * @ClassName: TaskListPresenter
 * @Description: java类作用描述
 * @Author: 小郭同学
 * @CreateDate: 2019-08-02 11:12
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public class TaskListPresenter extends BasePresenter<MainContract.TaskListView,
        TaskListModel> {
    @Override
    public void initRepository() {
        mModel = new TaskListModel(mView);
    }

    /**
     * 获取列表数据
     */
    public void getTaskList(int page, String status, String keywords) {
        mModel.getTaskList(page, status, keywords).subscribe(new BaseObserver<TaskBean>(TaskBean.class) {
            @Override
            public void doNextList(int totalCount, List<TaskBean> result) {
                // 有列表数据
                if (null != result && !result.isEmpty()) {
                    mView.setListData(totalCount, result);
                } else {
                    // 没有列表数据时  执行onEmpty
                    mView.showEmptyView();
                }
            }

            // 加载页面数据失败了
            @Override
            public void onError(Throwable e) {
                mView.onError();
            }

            // 没有获取到数据
            @Override
            public void onEmpty() {
                mView.showEmptyView();
            }
        });
    }

}
